The present disclosure relates generally to a system and method for controlling parallel distributed processes in a semiconductor fabrication facility (fab) or other manufacturing facility.
Manufacture of a product or plurality thereof involves the control, gathering, and analysis of data in very large databases. The data that is collected by manufacturing equipment and processes provides essential information for solving problems and controlling an entire manufacturing line. Solving the problems associated with new process implementations and equipment technology as well as device requirements have become an ever more daunting challenge.
Data collected from processes and controlling of jobs that may contain programs to processes or those that may concatenate data may contain a plurality of batch jobs. Traditionally, batch controllers execute programs one by one. Therefore, launch or execution time of a program is based on a maximum estimated execution time of a previous program or job. This insures correct execution of subsequent jobs, programs, and sequences to allow for data integrity. However, the possible resulting time latency can increase the time to perform data retrieval and control because the estimated execution time may be longer than an actual execution time. Moreover, if a program runs longer than a maximum estimated time, it is possible for incomplete data to be passed on to a subsequent program or job that would utilize such data.
In an environment where time to complete a task is important, completing a program or job in a minimum time with integrity of the data secure may be required. In order to reduce a total running time for a program or job as well as maintaining data integrity, a control and monitor mechanism may be necessary to monitor running status and execution of a program or job simultaneously.
A Petri Net may be utilized to describe a job flow, which may be a parallel, cooperative, or sequential task system. A Petri Net is a graphical and mathematical modeling tool consisting of four components: a place, a transition, an arc and a token. The place indicates a condition, the transition indicates an event, the arc indicates a path, and the token indicates a state of condition. A token moves in the arc between the places according to the condition of the transitions, and causes an event corresponding to the transition.
The current state of the Petri Net modeled system is given by not more than one token in each place or at various places. Transitions are active components for modeling activities that can occur, thus changing the state of a system. Transitions are only allowed to activate if they are enabled, which means that all the pre-conditions for an activity must be fulfilled. When the transition activates, it removes tokens from its input places and adds one token to each output places which connects to it. The number of tokens removed/added can depend on the hierarchy of each arc. Input arcs connect places with transitions, while output arcs may begin at a transition and end at a place. There are other types of arcs, such as inhibitor arcs.
To study performance and dependability issues of systems, it may be necessary to introduce a timing concept into a model. There are several possibilities to do this for a Petri net; however, the most common way is to associate an activation delay with each transition. This delay may specify the time that a transition has to be enabled before it can actually be activated. If a delay is a random distribution function, the resulting net array may be termed a stochastic Petri net. Different types of transitions can be distinguished depending on their associated delay, for instance immediate transitions (no delay), exponential transitions (delay is an exponential distribution), and deterministic transitions (delay is fixed).
Execution of computational jobs and programs in a fabrication environment where there are many complex processes occurring simultaneously requires a method for controlling jobs and programs, for extracting data, and for analyzing the data. Problem solving in a complex fabrication environment benefits from the ability to execute jobs, programs and data extraction in parallel. There are many types of manufacturing environments that may benefit from a global automated mechanism based upon the Petri Net mathematical model. A fabrication environment may invoke the use of a plurality of Petri Net structures and sub-sets of parent Petri Net structures for the control of fabrication equipment and the retrieval of data. The Petri Net structures and a mechanism for control can be very effective in such industrial areas such as semiconductor, petroleum, pharmaceutical, and chemical.
Accordingly, what is needed is a system and method to provide control of parallel processing in a manufacturing environment.